In 3D video coding, depth information associated with the underlying texture images is useful for improving the coding efficiency as well as for rendering of synthesized views. The statistical distribution of depth data for typical scenes is usually sparse. Some depth values may not occur in depth maps. In High Efficiency Video Coding (HEVC) based three-dimensional coding standard (3D-HEVC), partition-based methods are applied for depth map Intra coding. The partition-based methods use depth map modelling (DMM) to form prediction of the current depth block based on reconstructed neighboring depth pixels. With partition-based depth map Intra coding methods, a depth block is partitioned into two segments and each segment is represented by a single constant value.
In the current version of 3D-HEVC as specified in JCT3V-D1005 (“3D-HEVC Test Model 4”, Joint Collaborative Team on 3D Video Coding Extension Development of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 4th Meeting: Incheon, K R, 20-26 Apr. 2013, Document: JCT3V-D1005), there are four DMM modes defined corresponding to Mode 1—Explicit Wedgelet signaling, Mode 2—Intra-predicted Wedgelet partitioning, Mode 3—Restricted signaling and inter-component prediction of Wedgelet partitions and Mode 4—Inter-component-predicted Contour partitioning. The table index, wedge_full_tab_idx in DMM Mode 1 (DMM1) is binarized and represented as a fixed-length code. The bins of the table index are then coded using CABAC (Context Adaptive Binary Arithmetic Coding), where all bins share one context model. FIG. 1 illustrates an example of table index coding using a fixed-length code where bins correspond to table index represented in the fixed-length code. The bins are then compressed using an arithmetic coding engine (110) to generate coded bit-stream (120). These bins can hardly follow any particular distribution model; it may be inefficient to code the bins according to a single context model (130). The table index, wedge_predtex_tab_idx in DMM Mode 2 (DMM2) and parameter, delta_end_abs_minus1 in DMM Mode 3 (DMM 3) are coded in a similar way.
The CABAC coding usually incurs higher complexity compared to other non-context based entropy coding. In the case that the bins could hardly follow any distribution model, the benefit of higher coding efficiency of CABAC may not be realized. Therefore, it is desirable to develop coding scheme that matches the characteristics of the underlying syntax element.
CABAC is also applied to coding syntax associated with illumination compensation (IC) and advanced residual prediction (ARP) in 3D-HEVC. For each coding unit (CU), the encoder determines to either enable or disable the IC or ARP according to the rate-distortion optimization (RDO) criterion, and signals decisions as a control flag ic_flag or arp_flag in the bit-stream, where the control flag may have a value of 0 or 1.
In 3D-HEVC, CABAC is used to code the control flags, i.e., ic_flag and arp_flag based on a context model. There are 3 context models for the control flags, denoted as X_model[0], X_model[1] and X_model[2], where X corresponds to “ic” or “arp”. For the current block, X_model[idx] is chosen to code X_flag, where idx is calculated as    idx=X_flag(A)+X_flag(B), if A and B are both available;    idx=X_flag(A), if A is available but B is unavailable;    idx=X_flag(B), if A is unavailable but B is available; and    idx=0, if A and B are both unavailable;where X_flag(A) and X_flag(B) represent X_flag in the left and above neighboring blocks respectively as depicted in FIG. 3.
Accordingly, X_flag of the neighboring blocks has to be stored in order to derive idx for the current block. In the High Efficiency Video Coding (HEVC) or its extensions, such as 3D-HEVC, coding tree unit (CTU) is the basic processing unit. CTU is also referred to as largest coding unit (LCU). Since the above neighboring block may be in a different CTU from the current CTU containing the current block, a whole CTU row of X_flags above the current CTU have to be stored in order to derive idx for a current block.
Therefore, context-based coding for ic_flag or arp_flag according to the current version of 3D-HEVC requires storing the flags for a whole CTU row. Furthermore, the context-based coding will incur higher complexity than non-context based coding. It is desirable to develop methods and systems to reduce the storage requirement, the complexity, or both.